Game apparatus, wireless module and game system

ABSTRACT

A master wireless module transmits a beacon signal to a client wireless module in the same cycle as a game processing cycle. Each of the master wireless module and the client wireless module outputs an interrupt signal when a transmission time of the beacon signal arrives. A game processing section of each of the master wireless module and the client wireless module adjusts a V counter based on the interrupt signal. Therefore, it becomes possible to easily synchronize, when a multiplayer gameplay is performed using a plurality of game apparatuses capable of performing wireless communication with each other, times at which the plurality of game apparatuses execute predetermined processes.

CROSS REFERENCE TO RELATED APPLICATION

The disclosure of Japanese Patent Application No. 2006-285379, filed Oct. 19, 2006, is incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a game apparatus, a wireless module and a game system, and more particularly to a game apparatus, a wireless module and a game system capable of realizing a multiplayer gameplay using a plurality of game apparatuses capable of performing wireless communication with each other.

2. Description of the Background Art

Conventionally, there is a technique in which other game apparatuses each adjusts a transmission time of a signal based on a reception time of a signal transmitted from a reference game apparatus (Japanese Laid-Open Patent Publication No. 2000-135380 (hereinafter referred to as “patent document 1”), for example).

Conventionally, there is also a technique in which a master game apparatus transmits time information indicating a specific time to a client game apparatus, and the client game apparatus adjusts a game processing cycle based on the received time information (Japanese Laid-Open Patent Publication No. 2005-261856 (hereinafter referred to as “patent document 2”), for example).

Conventionally, there is also a technique in which a master game apparatus transmits a reset command to a client game apparatus in a constant cycle, and the client game apparatus resets a synchronization counter in response to the received reset command (Japanese Laid-Open patent Publication No. 8-243255 (hereinafter referred to as “patent document 3”), for example).

However, in the technique disclosed in patent document 1, communication timings are merely adjusted between a plurality of game apparatuses. With the technique disclosed in patent document 1 only, processing cycles to be executed by the plurality of game apparatuses cannot be synchronized to each other.

Furthermore, in the technique disclosed in patent document 2, the master game apparatus needs to transmit the time information to the client game apparatus on a regular basis, thereby correspondingly deteriorating a usage efficiency of a communication line.

Still furthermore, the technique disclosed in patent document 3 is effective only for wired communication. However, in the case where the technique disclosed in patent document 3 is applied to wireless communication, problems such as delay and jitter occur, thereby making it impossible to easily apply the technique disclosed in patent document 3 to wireless communication.

SUMMARY OF THE INVENTION

Therefore, an object of the present invention is to provide a game apparatus, a wireless module and a game system capable of easily synchronizing, when performing a multiplayer gameplay using a plurality of game apparatuses capable of performing wireless communication with each other, times at which the plurality of game apparatuses execute predetermined processes.

The present invention has the following features to attain the object mentioned above. The reference numerals, step numbers and the like in the parentheses indicate the correspondence with the embodiment described below in order to aid in understanding the present invention and are not intended to limit, in any way, the scope of the present invention.

A game apparatus (10 a) according to the present invention which realizes a multiplayer gameplay using the game apparatus (10 a) and at least one other game apparatus (10 b) capable of performing wireless communication with each other, comprises: a wireless module (12 a) having a time synchronization function of synchronizing a timer (124 a) provided inside the wireless module (12 a) to another timer (124 b) provided inside another wireless module (12 b) of the at least one other game apparatus (10 b) which is set as a communication party for the multiplayer gameplay; a processing section (14 a, 18 a) for executing a predetermined process; and an adjustment section (14 a) for adjusting a time at which the processing section executes the predetermined process based on a value of the timer (124 a) of the wireless module of the game apparatus.

The processing section may execute a process of generating image data and storing the image data in a display buffer, and the game apparatus may further include an output section for outputting the image data stored in the display buffer to a display section, and the adjustment section may adjust a time at which the output section outputs the image data to the display section based on the value of the timer of the wireless module of the game apparatus.

The processing section may execute a process of generating image data and storing the image data in a display buffer, and the game apparatus may further include an output section for outputting the image data stored in the display buffer, and the adjustment section may adjust a time at which the processing section updates the image data stored in the display buffer based on the value of the timer of the wireless module of the game apparatus.

The processing section may execute a process of generating image data and storing the image data in either of at least two display buffers, and the game apparatus may further include an output section for outputting the image data stored in either of the at least two display buffers to a display section, and the adjustment section may adjust a time at which the at least two display buffers used by the output section are switched between each other based on the value of the timer of the wireless module of the game apparatus.

The processing section may repeatedly execute game processing of one unit, which processing defines a predetermined procedure, and the adjustment section may adjust a time at which the processing section executes the game processing of one unit based on the value of the timer of the wireless module of the game apparatus.

The game apparatus may further comprise an input section operated by a player, wherein the processing section may execute the predetermined process based on operation information inputted to the input section, and the adjustment section may adjust a time at which the predetermined process, which is executed by the processing section based on the operation information, is executed based on the value of the timer of the wireless module of the game apparatus.

The wireless module may determine a time at which the operation information is exchanged with the at least one other game apparatus based on the value of the timer.

The game apparatus may further comprise a counter for measuring a processing cycle, wherein the processing section may execute the predetermined process in a cyclic manner based on a value of the counter, and the adjustment section may adjust the value of the counter based on the value of the timer of the wireless module of the game apparatus.

The wireless module may include interrupt signal outputting means of outputting an interrupt signal in a constant cycle based on the value of the timer, and the adjustment section may adjust a time at which the predetermined process is executed based on a time at which the wireless module outputs the interrupt signal. Thus, a change in the value of the timer included in the wireless module can be minimized.

The game apparatus may further comprise a counter for measuring a processing cycle, wherein the processing section may execute the predetermined process in a predetermined cycle based on a value of the counter, the interrupt signal outputting means may output the interrupt signal in the predetermined cycle based on the value of the timer, and the adjustment section may adjust the value of the counter such that the value of the counter obtained when the wireless module outputs the interrupt signal becomes close to a predetermined fixed value.

The wireless module may transmit a beacon signal to the said another wireless module, and include beacon interval setting means of setting a cycle of the beacon signal transmitted from the wireless module to a constant cycle, and the interrupt signal outputting means may output the interrupt signal when a transmission time of the beacon signal (a reception time of the beacon signal for the said another module acting as a client) arrives.

The processing section may repeatedly execute the predetermined process based on data necessary for game processing, which is received from the said another wireless module in a constant cycle, and include beacon interval setting means of setting a cycle of a beacon signal transmitted by the wireless module to the constant cycle, and the wireless module may transmit the beacon signal in a constant cycle based on the value of the timer, and transmit or receive the data necessary for the game processing to or from the said another wireless module each time the wireless module transmits the beacon signal to the said another wireless module, and the adjustment section may adjust the time at which the processing section executes the predetermined process based on a transmission time of the beacon signal, which is obtained based on the value of the timer of the wireless module of the game apparatus.

The game apparatus may further comprise an input section operated by a player, wherein the processing section may repeatedly execute the predetermined process based on operation information inputted to an input section of the game apparatus and the operation information inputted to another input section of the at least one other game apparatus, and the wireless module may exchange the operation information with the at least one other game apparatus each time the wireless module transmits the beacon signal to the said another wireless module.

The wireless module may further include interrupt signal outputting means of outputting the interrupt signal based on the value of the timer, when the transmission time of the beacon signal arrives, and the adjustment section may adjust a time at which the predetermined process is executed based on a time at which the wireless module outputs an interrupt signal.

The wireless module may transmit or receive the data necessary for the game processing to or from the said another wireless module after transmitting the beacon signal to the said another wireless module, and further include a sleep function of operating in a sleep mode until the transmission time of the beacon signal subsequently arrives after transmitting or receiving the data necessary for the game processing to or from the said another wireless module.

The processing section may read the value of the timer of the wireless module in a constant cycle, and adjust the time at which the processing section executes the predetermined process based on the read value.

The processing section may repeatedly execute game processing of one unit, which processing defines a predetermined procedure, and read the value of the timer of the wireless module in a cycle N times (N is a natural number) as long as the game processing of one unit.

The wireless module may synchronize the timer provided inside the wireless module to the said another timer provided inside the said another wireless module of the at least one other game apparatus based on an IEEE802.11 standard.

Another game apparatus (10 a) according to the present invention which realizes a multiplayer gameplay using the game apparatus (10 a) and at least one other game apparatus (10 b) capable of performing wireless communication with each other, comprises: a wireless module (12 a) having a time synchronization function of synchronizing a timer (124 a) provided inside the wireless module (12 a) to another timer (124 b) provided inside another wireless module (12 b) of the at least one other game apparatus (10 b) which is set as a communication party for the multiplayer gameplay; a processing section (14 a, 18 a) for executing a predetermined process; and a determination section (14 a) for determining a time at which the processing section executes the predetermined process based on a value of the timer (124 a) of the wireless module of the game apparatus.

Still another game apparatus (10 a) according to the present invention which realizes a multiplayer gameplay using the game apparatus (10 a) and at least one other game apparatus (10 b) capable of performing wireless communication with each other, comprises: a connector (not shown) connectable to a wireless module (12 a) having a time synchronization function of synchronizing a timer (124 a) provided inside the wireless module (12 a) to another timer (124 b) provided inside another wireless module (12 b) of the at least one other game apparatus (10 b) which is set as a communication party for the multiplayer gameplay; a processing section (14 a, 18 a) for executing a predetermined process; an adjustment section (14 a) for adjusting a time at which the processing section executes the predetermined process based on the value of the timer (124 a) of the wireless module connected to the connector.

A wireless module (12 a) according to the present invention which realizes a multiplayer gameplay using a game apparatus (10 a) and at least one other game apparatus (10 b), comprises: time synchronization means (123 a) of synchronizing a timer (124 a) provided inside the wireless module (12 a) to another timer (124 b) provided inside another wireless module (12 b); and interrupt signal outputting means (123 a) of outputting an interrupt signal in a constant cycle based on a value of the timer (124 a).

A game system according to the present invention is a game system which realizes a multiplayer game play using a plurality of game apparatuses including at least a first game apparatus (10 a) and a second game apparatus (10 b), all of which are capable of performing wireless communication with each other. The first game apparatus includes: a first wireless module (12 a) having a time synchronization function of synchronizing a timer (124 a) provided inside the first wireless module (12 a) to another timer (124 b) provided inside a second wireless module (12 b) of the second game apparatus; a first processing section (14 a, 18 a) for executing a predetermined process; and a first adjustment section (14 a) for adjusting a time at which the first processing section executes the predetermined process based on a value of the timer (124 a) of the first wireless module. The second game apparatus includes: the second wireless module having the time synchronization function of synchronizing the said another timer provided inside the second wireless module to the timer provided inside the first wireless module of the first game apparatus; a second processing section (14 b, 18 b) for executing a predetermined process; and a second adjustment section (14 b) for adjusting a time at which the second processing section executes the predetermined process based on a value of the said another timer (124 b) of the second wireless module.

According to the present invention, it becomes possible to easily synchronize, when performing the multiplayer gameplay using a plurality of game apparatuses capable of performing wireless communication with each other, times at which the plurality of game apparatuses execute the predetermined processes.

These and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a configuration of a game system according to a first embodiment of the present invention;

FIG. 2 is a sequence diagram illustrating an operation of the game system according to the first embodiment of the present invention;

FIG. 3 is diagram illustrating a corresponding relationship between a display screen and a value of a V counter 181 a;

FIG. 4 is a flowchart illustrating a flow of a process executed by a wireless module 12 a and a wireless module 12 b according to the first embodiment of the present invention;

FIG. 5 is a flowchart illustrating a flow of a main process executed by a game processing section 14 a and a game processing section 14 b according to the first embodiment of the present invention;

FIG. 6 is a flowchart illustrating a TBTT interrupt process executed by the game processing section 14 a and the game processing section 14 b according to the first embodiment of the present invention;

FIG. 7 is a flowchart illustrating a V blank interrupt process executed by the game processing section 14 a and the game processing section 14 b according to the present invention;

FIG. 8 is a sequence diagram illustrating a variant of the operation of the game system according to the first embodiment of the present invention;

FIG. 9 is a block diagram illustrating the configuration of the game system according to a second embodiment of the present invention;

FIG. 10 is a sequence diagram illustrating the operation of the game system according to the second embodiment of the present invention;

FIG. 11 is a flowchart illustrating the flow of the process executed by the wireless module 12 a and the wireless module 12 b according to the second embodiment of the present invention; and

FIG. 12 is a flowchart illustrating the V blank interrupt process executed by the game processing section 14 a and the game processing section 14 b according to the second embodiment of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Hereinafter, various embodiments of the present invention will be described.

First Embodiment

FIG. 1 is a block diagram illustrating a configuration of a game system according to a first embodiment of the present invention. Although the present embodiment illustrates an example where two game apparatuses (i.e., a first game apparatus 10 a and a second game apparatus 10 b) perform wireless communication with each other, the present invention is not limited thereto. The present invention is applicable to a case where three or more game apparatuses perform wireless communication with each other.

The first game apparatus 10 a and the second game apparatus 10 b are set to each other as communication parties for a multiplayer gameplay. For example, prior to starting the multiplayer gameplay, the first game apparatus 10 a exchanges its own apparatus ID (which may be added with a user ID or a game program ID of a game program executed by the game apparatus 10 a) with the second game apparatus 10 b by wireless communication, and presents information concerning the second game apparatus 10 b by means of an image, sound or the like to a player of the first game apparatus 10 a. Based on the information presented as such, the player of the first game apparatus 10 a determines whether or not to start the multiplayer gameplay together with a player of the second game apparatus 10 b. If the both players instruct the game apparatuses 10 a and 10 b respectively to start the multiplayer gameplay together with each other via an input section, the first game apparatus 10 a and the second game apparatus 10 b are set to each other as the communication parties for the multiplayer gameplay.

The first game apparatus 10 a comprises a wireless module 12 a, a game processing section 14 a, an interrupt circuit 16 a, a display section 18 a, a clock 20 a, a storage section 24 a, a flame buffer 26 a, and an input section 28 a. The second game apparatus 10 b has the same configuration as that of the first game apparatus 10 a, and therefore a detailed description of the second game apparatus 10 b will be omitted.

To the first game apparatus 10 a, a game cartridge 30 a is connected via a connector 22 a. The game cartridge 30 a stores a game program for realizing a game which can be simultaneously played by a plurality of players performing wireless communication between a plurality of game apparatuses. The game program is loaded to the storage section 24 a via the connector 22 a and executed by the game processing section 14 a. Note that the game program may be supplied to the storage section 24 a from a storage medium other than the game cartridge 30 a such as an optical disc or a magnetic disc, or from an external computer or other game apparatuses by wired communication or wireless communication.

The wireless module 12 a has a function of performing wireless communication with a wireless module 12 b of the second game apparatus 10 b in accordance with a communication protocol which complies with a wireless LAN standard IEEE802.11. Although the present embodiment illustrates an example where the wireless module 12 a is embedded in the first game apparatus 10 a, the present invention is not limited thereto. The wireless module 12 a may be connected to the first game apparatus 10 a via a not shown connector included in the first game apparatus 10 a.

The wireless module 12 a includes a wireless section 121 a, a storage section 122 a, a processor 123 a, a TSF timer 124 a and a clock 125 a. The wireless section 121 a converts a baseband signal outputted from the processor 123 a into a wireless signal, and also receives a wireless signal transmitted from the wireless module 12 b of the second game apparatus 12 b and converts the received wireless signal into a baseband signal. The storage section 122 a is used by the processor 123 a for temporarily retaining data. In addition, the storage section 122 a is also used as a transmission/reception buffer for passing data, which is transmitted and received between the first game apparatus 10 a and the second game apparatus 10 b (i.e., data to be transmitted to the second game apparatus 10 b and data received from the second game apparatus 10 b), between the game processing section 14 a and the wireless module 12 a. The processor 123 a controls wireless communication between the wireless module 12 a and the wireless module 12 b based on the wireless LAN standard IEEE802.11. The TSF timer 124 a is a timer for measuring a time period based on a clock signal outputted from the clock 125 a included in the wireless module 12 a, and is used for synchronizing a process executed by the wireless module 12 a and a process executed by the wireless module 12 b. A value of the TSF timer 124 a indicates an elapsed time since the TSF timer 124 a starts counting.

In the present embodiment, it is assumed that the wireless module 12 a operates as a master, and the wireless module 12 b operates as a client. Note that when a plurality of wireless modules perform communication with each other, any method may be used for determining one of the wireless modules acting as a master. Each of the wireless module 12 a and the wireless module 12 b has a TSF (Timing Synchronization Function) for synchronizing the process executed by the wireless module 12 a and the process executed by the wireless module 12 b. The wireless module 12 a acting as the master transmits a beacon signal on a regular basis. The game processing section 14 a can set a transmission cycle of the beacon signal to any cycle (the transmission cycle of the beacon signal may be fixed). In the present embodiment, the transmission cycle of the beacon signal is set to 16.7 msec which is the same as a game processing cycle (i.e., a cycle in which game processing of one unit, which processing defines a predetermined procedure, is repeatedly executed, the cycle being 16.7 msec in the present embodiment) of the game processing section 14 a. However, the transmission cycle of the beacon signal is not limited thereto. The transmission cycle of the beacon signal may be an integral multiple of the game processing cycle. The reason therefor will be described later. The beacon signal includes information about the value of the TSF timer 124 a (hereinafter referred to as a “TSF timer value”) indicating a transmit time of the beacon signal and a beacon interval (a transmission interval of the beacon signal). A processor 123 b of the wireless module 12 b which receives a beacon signal transmitted from the wireless module 12 a changes a value of a TSF timer 124 b so as to become equal to the TSF timer value included in the received beacon signal as appropriate. As described above, the value of the TSF timer 124 b of the wireless module 12 b is changed as appropriate based on the beacon signal which is transmitted in a cyclic manner, thereby making it possible to synchronize the TSF timer 124 a of the wireless module 12 a and the TSF timer 124 b of the wireless module 12 b.

Since the beacon signal includes the information about the beacon interval as described above, the wireless module 12 b can recognize a TBTT (Target Beacon Transmit Time) based on the value of the TSF timer 124 b and the information about the beacon interval. When the TBTT arrives, the wireless module 12 a acting as the master starts an operation of transmitting a beacon signal, and the wireless module 12 b acting as the client starts an operation of preparing to receive the beacon signal.

In the present embodiment, as shown in FIG. 2, a beacon signal is transmitted from the wireless module 12 a acting as the master in a cycle of 16.7 msec, and immediately after the beacon signal is transmitted, operation information is transmitted/received between the wireless module 12 a acting as the master and the wireless module 12 b acting as the client, in order to share the operation information (information indicating a content of an operation inputted to the input section 28 by the player of each of the game apparatuses) between the first game apparatus 10 a and the second game apparatus 10 b. When the transmission/reception of the operation information is completed, each of the wireless module 12 a and the wireless module 12 b operates in a sleep mode until the TBTT subsequently arrives. When the TBTT subsequently arrives (to be more precise, immediately before the TBTT subsequently arrives), each of the wireless module 12 a and the wireless module 12 b returns to a normal mode from the sleep mode, and the wireless module 12 a starts the operation of transmitting another beacon signal and the wireless module 12 b starts the operation of preparing to receive the said another beacon signal. As such, while sharing the operation information between the first game apparatus 10 a and the second game apparatus 10 b in a cycle of 16.7 msec, power savings of the wireless module 12 a and the wireless module 12 b can be achieved.

Note that it does not necessarily have to be the operation information which is transmitted/received between the wireless module 12 a and the wireless module 12 b. For example, a game parameter and the like generated by the game processing executed by each of the game apparatuses 10 a and 10 b may be transmitted/received between the wireless modules 12 a and 12 b.

Furthermore, it is not necessary for each of the wireless modules 12 a and 12 b to be in the sleep mode after transmitting/receiving the operation information.

In the present embodiment, when the TBTT arrives, the processor 123 a outputs an interrupt signal (hereinafter referred to as a TBTT interrupt signal). The same is also true of the processor 123 b. The present embodiment assumes that the TBTT interrupt signal is outputted every twelve times the TBTT arrives. However, a frequency in which the TBTT interrupt signal is outputted is not limited thereto. The TBTT interrupt signal may be outputted every N times (N is a natural number) the TBTT arrives. In this case, a cycle in which the TBTT interrupt signal is outputted is a cycle N times as long as the game processing cycle (16.7 msec) of the game processing section 14 a.

The game processing section 14 a executes the game processing in accordance with the game program stored in the game cartridge 30 a. The game processing is executed based on signals outputted from the input section 28 a and the operation information, about the second game apparatus 10 b, which is received by the wireless module 12 a (information concerning an operation inputted by a user of the second game apparatus 10 b). The game processing section 14 a generates a game image reflecting a result of the game processing, and writes image data of the game image into the flame buffer 26 a. The game image is updated in a cycle of 16.7 msec.

The interrupt circuit 16 a outputs the TBTT interrupt signal outputted from the wireless module 12 a and a V blank interrupt signal outputted from the display section 18 a, which is to be described later, to the game processing section 14 a as interrupt request signals. When any interrupt request signal is outputted from the interrupt circuit 16 a, the game processing section 14 a temporarily suspends the game processing so as to execute a predetermined interrupt process in response to the interrupt request signal, and resumes the game processing after the interrupt process is completed.

The display section 18 a has a display screen, and displays the game image on the display screen based on the image data written by the game processing section 14 a into the flame buffer 26 a. The display screen is updated in a cycle of 16.7 msec. The display section 18 a is typically comprised of a liquid crystal panel and a display control circuit. The display section 18 a has a V counter 181 a, and electrical signals corresponding to the image data read from the flame buffer 26 a are supplied to pixels on a scanning line corresponding to a value of the V counter 181 a. The value of the V counter 181 a is updated at a predetermined interval based on a clock signal outputted from the clock 20 a. The value of the V counter 181 a is reset to “0” after indicating “262”.

In the display section 18 a, any pixel of an image displayed on the display screen is not updated during a time period from when scanning which is sequentially performed from a top scanning line of the display screen to a bottom scanning line thereof is completed to when the scanning is returned to the top scanning line (hereinafter referred to as a “V blank period”). During the V blank period, the display section 18 a does not access the flame buffer 26 a. Thus, the game processing section 14 a writes the image data into the flame buffer 26 a during the V blank period, thereby making it possible to update the image data without distorting the display image.

Note that the V counter 181 a continues counting even during the V blank period. In the present embodiment, as shown in FIG. 3, the value of the V counter 181 a obtained when scanning is performed on the top scanning line of the display screen is “0”, the value of the V counter 181 a obtained when the scanning is performed on the bottom scanning line of the display screen is “191”, and the value of the V counter 181 a obtained immediately before the scanning is performed on the top scanning line of the display screen is “262”. In this case, a time period during which the value of the V counter 181 a is within a range from “192” to “262” is the V blank period. The display section 18 a has a function of outputting the V blank interrupt signal when the V blank period arrives (i.e., when the value of the V counter 181 a becomes “192”). The interrupt circuit 16 a which receives the V blank interrupt signal from the display section 18 a transmits a V blank interrupt request signal to the game processing section 14 a. The game processing section 14 a starts writing the image data into the flame buffer 26 a in response to the V blank interrupt request signal, thereby allowing the game processing section 14 a to write the image data into the flame buffer 26 a during the V blank period.

The storage section 24 a is a storage area used by the game processing section 14 a executing the game program.

The flame buffer 26 a is a storage area for temporarily retaining the image data generated by the game processing section 14 a so as to be outputted to the display section 18 a.

The input section 28 a is a game controller operated by the player, and outputs a signal in accordance with an operation performed by the player.

In the present embodiment, the game processing section 14 a executes the game processing in the same cycle as that in which the display section 18 a updates the display screen (16.7 msec). Specifically, a series of processes in which the game processing section 14 a (1) shares the operation information between the first game apparatus 10 a and the second game apparatus 10 b, (2) executes the game processing based on the shared operation information, and (3) generates the game image reflecting a result of the game processing and writes the generated image data into the flame buffer 26 a is repeated in a cycle of 16.7 msec.

In the case where the players of the first game apparatus 10 a and the second game apparatus 10 b play the multiplayer game by causing the first game apparatus 10 a and the second game apparatus 10 b to perform wireless communication with each other, it is preferable that the game processing cycle of the game processing section 14 a of the first game apparatus 10 a coincides with that of the game processing section 14 b of the second game apparatus 10 b. This is because if the game processing cycles between the game processing sections 14 a and 14 b are shifted from each other, a game processing result of the first game apparatus 10 a and a game processing result of the second game apparatus 10 b may be accordingly shifted from each other.

In the present embodiment, the game processing section 14 a of the first game apparatus 10 a adjusts the V counter 181 a with respect to a time at which the wireless module 12 a outputs the TBTT interrupt signal. Similarly, the game processing section 14 b of the second game apparatus 10 b adjusts the V counter 181 b with respect to a time at which the wireless module 12 b outputs the TBTT interrupt signal. Hereinafter, an adjustment process executed by the game processing section 14 a adjusting the V counter 181 a will be described in detail.

In an interrupt process to be executed when the wireless module 12 a outputs the TBTT interrupt signal (hereinafter referred to as a “TBTT interrupt process”), the game processing section 14 a temporarily stores the value of the V counter 181 a obtained when the TBTT interrupt signal is outputted (hereinafter referred to as a “V counter value at TBTT” in the storage section 24 a. Furthermore, in another interrupt process to be executed when the display section 18 a outputs the V blank interrupt signal (hereinafter referred as a “V blank interrupt process”), the game processing section 14 a calculates a difference between the V counter value at TBTT stored in the storage section 24 a and a predetermined ideal value (“0” in the present embodiment, for example), thereby increasing or decreasing the value of the V counter 181 a based on the difference such that the value of the V counter 181 a obtained when the TBTT interrupt signal is outputted becomes close to the predetermined ideal value. For example, when the V counter value at TBTT is “2”, “2” is subtracted from the value of the V counter 181 a. When the V counter value at TBTT is “260”, “3” is added to the value of the V counter 181 a. As described above, the value of the V counter 181 a is not changed when the TBTT interrupt process is executed, but changed when the V blank interrupt process is executed. This is because the value of the V counter 181 a can be changed during the V blank period. During the V blank period, the display screen is never distorted even if the value of the V counter 181 a is changed. Only if distortion on the display screen is allowed, the value of the V counter 181 a may be changed at any time.

Note that in the case where a certain value is subtracted from the value of the V counter 181 a, the game processing section 14 a adjusts the subtracted value of the V counter 181 a so as not to be smaller than the value of the V counter 181 a obtained at a time of V blank interruption (“192” in the present embodiment). Specifically, in the case where “2” is subtracted from the value of the V counter 181 a, the value of the V counter 181 a is not to be changed until the value of the V counter 181 a becomes “195” or greater. In this case, the subtracted value of the V counter 181 a will be “193” or greater.

When the difference between the V counter value at TBTT and the predetermined ideal value is greater than a predetermined value (“4”, for example), instead of causing the value of the V counter 181 a obtained when the TBTT interrupt signal is outputted to instantly coincide with the predetermined ideal value, the value of the V counter 181 a may be caused to become close to the predetermined ideal value gradually in a plurality of stages. This can be realized, for example, when a range within which the value of the V counter 181 a can be changed at one time is limited from “−4” to “+4”. Thus, even when there is a great difference between the V counter value at TBTT and the predetermined ideal value, the game processing cycle can be adjusted without causing the player to feel awkward.

On the other hand, when the difference between the V counter value at TBTT and the predetermined ideal value is smaller than a predetermined value (“2”, for example), a change in the value of the V counter 181 a may be omitted.

By executing the adjustment process as described above, the game processing cycle of the game processing section 14 a is synchronized to the TBTT in the wireless module 12 a. Similarly, in the case of the second game apparatus 10 b, the game processing section 14 b adjusts the V counter 181 b, thereby synchronizing the game processing cycle of the game processing section 14 b to the TBTT in the wireless module 12 b. Here, the TSF allows the TBTT in the wireless module 12 a and the TBTT in the wireless module 12 b to be synchronized to each other. As a result, the game processing cycle of the game processing section 14 a and the game processing cycle of the game processing section 14 b are also synchronized to each other accordingly.

Hereinafter, described will be flows of processes executed by the game processing section 14 a, the game processing section 14 b, the wireless module 12 a and the wireless module 12 b when executing the game in accordance with the game program loaded to the storage section 24 a (the storage section 24 b) from the game cartridge 30 a (the game cartridge 30 b).

With reference to a flowchart shown in FIG. 4, the flow of the process executed by the wireless module 12 a and the wireless module 12 b will be firstly described.

In step S10, the processor 123 a of the wireless module 12 a acting as the master outputs a beacon signal via the wireless section 121 a. The beacon signal includes the value of TSF timer 124 a obtained at a transmit time of the beacon signal and the information about the beacon interval set by the game processing section 14 a.

In step S12, based on the value of the TSF timer 124 a and the beacon interval, the processor 123 a determines whether or not a TBTT arrives. When it is determined that the TBTT arrives, the process proceeds to step S14. Note that when the wireless module 12 a operates in the sleep mode, the wireless module 12 a returns to the normal mode from the sleep mode in response to an arrival of the TBTT (strictly speaking, the wireless module 12 a returns to the normal mode from the sleep mode immediately prior to the TBTT).

In step S14, the processor 123 a determines whether or not the currently arriving TBTT is a twelfth TBTT counting from when the TBTT interrupt signal is most recently outputted. When it is determined that the currently arriving TBTT is the twelfth TBTT, the process proceeds to step S16. On the other hand, when it is determined that the currently arriving TBTT is not the twelfth TBTT, the process proceeds to step S18. As a method of determining whether or not the currently arriving TBTT is the twelfth TBTT counting from when the TBTT interrupt signal is most recently outputted, a counter may be prepared in the storage section 122 a so as to count the number of times the TBTT arrives from when the TBTT interrupt signal is most recently outputted. Then, the counter may count up each time the TBTT arrives, and the counter may be reset when the TBTT interrupt signal is newly outputted.

In step S16, the processor 123 a outputs the TBTT interrupt signal to the interrupt circuit 16 a.

In step S18, the processor 123 a outputs another beacon signal via the wireless section 121 a.

In step S20, via the wireless section 121 a, the processor 123 a transmits to the second game apparatus 10 b the operation information about the first game apparatus 10 a which is stored in the storage section 122 a by the game processing section 14 a, and receives the operation information about the second game apparatus 10 b from the second game apparatus 10 b and stores the received operation information about the second game apparatus 10 b in the storage section 122 a, in accordance with a predetermined procedure. Thereafter, the wireless module 12 a shifts to the sleep mode and the process returns to step S12.

In the present embodiment, a transmission cycle of the beacon signal is synchronized to the game processing cycle, and the operation information is exchanged between the two wireless modules at the beacon interval. Therefore, each of the two wireless modules can obtain most recent operation information about the other communication party in each game processing cycle, and thus it is effective that a process can be executed based on the most recent operation information in the each game processing cycle. Furthermore, since each of the wireless modules recognizes the TBTT (Target Beacon Transmit Time), times at which the operation information is transmitted/received between the wireless modules can be effectively synchronized to each other, thereby making it possible to cause the wireless modules to be intermittently operated in the sleep mode as appropriate.

A process from steps S12 to S20 is repeated in a cycle of 16.7 msec which is the transmission cycle of the beacon signal.

Next, in step S22, the processor 123 b of the wireless module 12 b acting as the client receives the beacon signal (which is transmitted from the wireless module 12 a in step S10) via the wireless section 121 b.

In step S24, the processor 123 b sets the value of the TSF timer 124 b based on the TSF timer value included in the beacon signal received in step S22.

In step S26, based on the value of the TSF timer 124 b and the beacon interval included in the beacon signal received in step S20, the processor 123 b determines whether or not a TBTT arrives. When it is determined that the TBTT arrives, the process proceeds to step S28. Note that when the wireless module 12 b operates in the sleep mode, the wireless module 12 b returns to the normal mode from the sleep mode in response to the arrival of the TBTT (strictly speaking, the wireless module 12 b returns to the normal mode from the sleep mode immediately prior to the TBTT).

In step S28, the processor 123 b determines whether or not the currently arriving TBTT is a twelfth TBTT counting from when the TBTT interrupt signal is most recently outputted. When it is determined that the currently arriving TBTT is the twelfth TBTT, the process proceeds to step S30. On the other hand, when it is determined that the currently arriving TBTT is not the twelfth TBTT, the process proceeds to step S32.

In step S30, the processor 123 b outputs the TBTT interrupt signal to the interrupt circuit 16 b.

In step S32, the processor 123 b receives the said another beacon signal (which is transmitted from the wireless module 12 a in step S18) via the wireless section 121 b.

In step S34, based on the TSF timer value included in the said another beacon signal received in step S32 (the value of the TSF timer 124 a obtained when the wireless module 12 a transmits the said another beacon signal in step S18), the processor 123 b updates the value of the TSF timer 124 b, thereby correcting a difference between the TSF timer 124 a and the TSF timer 124 b.

In step S36, via the wireless section 121 b, the processor 123 b receives the operation information about the first game apparatus 10 a from the first game apparatus 10 a and stores the received operation information about the first game apparatus 10 a in the storage section 122 b, and transmits to the first game apparatus 10 a the operation information about the second game apparatus 10 b which is stored in the storage section 122 b by the game processing section 14 b, in accordance with a predetermined procedure. Thereafter, the wireless module 12 b shifts to the sleep mode and the process returns to step S26.

A process from steps S26 to S36 is repeatedly executed in a cycle of 16.7 msec which is the transmission cycle of the beacon signal.

Next, with reference to a flowchart shown in FIG. 5, the flow of the main process executed by the game processing section 14 a and the game processing section 14 b will be described.

In step S40, the game processing section 14 a of the first game apparatus 10 a acting as the master sets an interval of a beacon signal to be outputted from the wireless module 12 a to a time period N times as long as the game processing cycle (16.7 msec in the present embodiment).

In step S42, the game processing section 14 a shares the operation information between the first game apparatus 10 a and the second game apparatus 10 b. Specifically, the game processing section 14 a stores the operation information about the first game apparatus 10 a in a transmission buffer (the storage section 122 a) of the wireless module 12 a, and obtains the operation information about the second game apparatus 10 b stored in a reception buffer (the storage section 122 a).

In step S44, based on the operation information shared in step S42 between the first game apparatus 10 a and the second game apparatus 10 b, the game processing section 14 a executes the game processing. For example, when a first character operated by the player of the first game apparatus 10 a and a second character operated by the player of the second game apparatus 10 b exist in a shared virtual game space, the game processing section 14 a controls the first character based on the operation information about the first game apparatus 10 a and controls the second character based on the operation information about the second game apparatus 10 b.

In step S46, the game processing section 14 a determines whether or not the interrupt circuit 16 a outputs a V blank interrupt signal as the interrupt request signal. When it is determined that the V blank interrupt signal is outputted, the process proceeds to step S48. On the other hand, when it is determined that the V blank interrupt signal is not yet outputted, the game processing in step S44 continues until the V blank interrupt signal is outputted. Note that when the V blank interruption occurs even in the middle of the game processing in step S44, the game processing in step S44 is stopped and the process proceeds to step S48.

In step S48, the game processing section 14 a generates game image data reflecting a result of the game processing in step S44 and writes the game image data into the flame buffer 26 a. Thereafter, the process returns to step S42.

A process from steps S42 to S48 is repeatedly executed in a cycle of 16.7 msec which is the game processing cycle of the game processing section 14 a (in the present embodiment, the game processing cycle of the game processing section 14 a is equivalent to a cycle in which the display screen of the display section 18 a is updated).

Next, in step S50, the game processing section 14 b of the second game apparatus 10 b acting as the client shares the operation information between the first game apparatus 10 a and the second game apparatus 10 b. Specifically, the game processing section 14 b stores the operation information about the second game apparatus 10 b in a transmission buffer (the storage section 122 b) of the wireless module 12 b, and obtains the operation information about the first game apparatus 10 a stored in a reception buffer (the storage section 122 b).

In step S52, based on the operation information shared in step S50 between the first game apparatus 10 a and the second game apparatus 10 b, the game processing section 14 b executes the game processing. For example, when the first character operated by the player of the first game apparatus 10 a and the second character operated by the player of the second game apparatus 10 b exist in the shared virtual game space, the game processing section 14 b controls the first character based on the operation information about the first game apparatus 10 a and controls the second character based on the operation information about the second game apparatus 10 b.

In step S54, the game processing section 14 b determines whether or not the interrupt circuit 16 b outputs a V blank interrupt signal as the interrupt request signal. When it is determined that the V blank interrupt signal is outputted, the process proceeds to step S56. On the other hand, when it is determined that the V blank interrupt signal is not yet outputted, the game processing in step S52 continues until the V blank interrupt signal is outputted. Note that when the V blank interruption occurs even in the middle of the game processing in step S52, the game processing in step S52 is stopped and the process proceeds to step S56.

In step S56, the game processing section 14 b generates game image data reflecting a result of the game processing in step S52 and writes the game image data into the flame buffer 26 b. Thereafter, the process returns to step S50.

A process from steps S50 to S56 is repeatedly executed in a cycle of 16.7 msec which is the game processing cycle of the game processing section 14 b (in the present embodiment, the game processing cycle of the game processing section 14 b is equivalent to a cycle in which the display screen of the display section 18 b is updated).

Note that when the interrupt circuit 16 a outputs the interrupt request signal, the game processing section 14 a suspends the aforementioned main process so as to execute the interrupt process (the TBTT interrupt process or the V blank interrupt process) in response to the interrupt request signal. The same is also true of the game processing section 14 b.

In the TBTT interrupt process, as shown in FIG. 6, the game processing section 14 a reads the value of the V counter 181 a obtained when the TBTT interrupt signal is outputted, and stores the value thus obtained as the V counter value at TBTT in the storage section 24 a. The same is also true of the game processing section 14 b.

In the V blank interrupt process, as shown in FIG. 7, based on the V counter value at TBTT stored in the storage section 24 a when the TBTT interrupt process is most recently executed, the game processing section 14 a updates the value of the V counter 181 a. A detailed process of updating the value of the V counter 181 a has been described above. The same is also true of the game processing section 14 b.

As described above, in the present embodiment, based on the TBTT interrupt signal outputted from each of the wireless module 12 a and the wireless module 12 b in a cycle N times as long as the game processing cycle, the first game apparatus 10 a and the second game apparatus 10 b adjust the V counter 181 a and the V counter 181 b, respectively, thereby making it possible to synchronize the game processing executed by the first game apparatus 10 a and the game processing executed by the second game apparatus 10 b.

Particularly, the wireless module 12 a and the wireless module 12 b can be realized simply by adding a slight change (i.e., adding a function of outputting the TBTT interrupt signal) to a conventional wireless module which complies with the wireless LAN standard IEEE802.11, thereby making it possible to achieve the present invention at a low cost.

Furthermore, the game processing cycles of the game processing sections 14 a and 14 b coincide with communication cycles (cycles in which the operation information is transmitted/received) of the wireless modules 12 a and 12 b, respectively. Therefore, unlike the conventional art, there is no need to create the game program taking into consideration differences between the game processing cycles of the game processing sections 14 a and 14 b and the communication cycles of the wireless modules 12 a and 12 b, respectively. Thus, it becomes possible to reduce troublesome tasks required for a programming work performed by a programmer.

Although the present embodiment illustrates an example where the wireless module 12 a (the wireless module 12 b) operates in the sleep mode for a time period from when the operation information is transmitted/received to when the TBTT subsequently arrives, the present invention is not limited thereto.

Although the present embodiment illustrates an example where the wireless module 12 a (the wireless module 12 b) complies with the wireless LAN standard IEEE802.11, the present invention is not limited thereto. Any wireless module having the TSF (a function of synchronizing timers provided inside the wireless modules) can be used. For example, a wireless module which complies with a standard such as Bluetooth (registered trademark) or Zigbee (registered trademark) can be used.

Although the present embodiment illustrates an example where the game processing cycle is synchronized to a cycle in which the display screen is updated, the present invention is not limited thereto. The game processing cycle may be different from the cycle in which the display screen is updated. In this case, the first game apparatus 10 a (the second game apparatus 10 b) needs to include, other than the V counter 181 a (the V counter 181 b), a game processing cycle counter for measuring the game processing cycle, and the game processing section 14 a (the game processing section 14 b) may adjust the game processing cycle counter based on a time at which the TBTT interrupt signal is outputted.

Although the present embodiment illustrates and example where the operation information is transmitted/received in a cycle of 16.7 msec, the present invention is not limited thereto. In the case where an operation performed by the player needs to be instantly reflected in the game processing such as an action game, for example, it is desirable that the operation information is frequently transmitted/received. On the contrary, in the case where the operation performed by the player does not need to be instantly reflected in the game processing such as a table game, it is not necessary to transmit/receive the operation information as frequently as the action game.

Although the present embodiment illustrates an example where the value of the V counter 181 a (the V counter 181 b) is adjusted so as to become close to “0” when the TBTT interrupt signal is outputted, the present invention is not limited thereto. The value of the V counter 181 a (the V counter 181 b) may be adjusted so as to become close to a specified value other than “0” when the TBTT interrupt signal is outputted.

The present embodiment illustrates an example where the game processing cycle is 16.7 msec. However, this is merely an example and the present invention is not limited thereto.

Although the present embodiment illustrates an example where the value of the V counter 181 a (the V counter 181 b) is adjusted based on the TBTT interrupt signal outputted from the wireless module 12 a (the wireless module 12 b) in response to the arrival of the TBTT, the present invention is not limited thereto. For example, irrespective of the arrival of the TBTT, the processor 123 a (the processor 123 b) of the wireless module 12 a (the wireless module 12 b) may output an interrupt signal (conveniently referred to as a “TSF timer interrupt signal”) in a cycle N times as long as the game processing cycle based on the TSF timer 124 a (the TSF timer 124 b), and the game processing section 14 a (the game processing section 14 b) may adjust the value of the V counter 181 a (the V counter 181 b) based on the TSF timer interrupt signal. In this case, the transmission interval of the beacon signal can be freely set irrespective of the game processing cycle. However, in this case, a counter for outputting the TSF timer interrupt signal in a predetermined cycle needs to be additionally prepared.

Furthermore, in an example shown in FIG. 2, the wireless module 12 a acting as the master outputs the TBTT interrupt signal at the same time as the wireless module 12 b acting as the client. However, the wireless module 12 a does not need to output the TBTT interrupt signal at the same time as the wireless module 12 b. As shown in FIG. 8, for example, 16.7 msec after the wireless module 12 a outputs the TBTT interrupt signal, the TBTT interrupt signal may be outputted from the wireless module 12 b.

The wireless module 12 a and the wireless module 12 b may not only have an operation mode for outputting the TBTT interrupt signal (tentatively referred to as a “local game mode”), as described in the present invention, but also have a function of operating in an infrastructure mode or an ad hoc mode, which are operation modes of a general wireless communication module (the TBTT interrupt signal is not outputted in the infrastructure mode or the ad hoc mode). In this case, each of the wireless module 12 a and the wireless module 12 b switches the aforementioned operation modes between each other based on an instruction outputted from each of the game processing section 14 a and the game processing section 14 b.

Note that the infrastructure mode or the ad hoc mode are terms used in the wireless LAN standard IEEE802.11, and therefore the descriptions thereof will be omitted. The aforementioned local game mode is a mode in which the ad hoc mode is customized to be used for a communication game.

Furthermore, the present embodiment illustrates an example where the interrupt circuit 16 a outputs the TBTT interrupt signal to the game processing section 14 a, thereby causing the game processing section 14 a to execute the adjustment process of adjusting the V counter 181 a. However, by additionally providing an adjustment circuit, the interrupt circuit 16 a may output the TBTT interrupt signal to the adjustment circuit, thereby causing the adjustment circuit to execute the adjustment process of adjusting the V counter 181 a. The adjustment circuit may be provided inside or outside the wireless module 12 a. Alternatively, the interrupt circuit 16 a may be provided inside the wireless module 12 a. Still alternatively, the interrupt circuit 16 a may output the TBTT interrupt signal to the processor 123 a of the wireless module 12 a, thereby causing the processor 123 a to execute the adjustment process of adjusting the V counter 181 a.

Furthermore, the game processing section 14 a and/or the display section 18 a may execute a predetermined process in a cycle of 16.7 msec based on the TSF timer 124 a (by reading the TSF timer 124 a or in response to an interrupt request outputted based on the TSF timer value) (in this case, the clock 20 a or the V counter 181 a are not necessary).

Still furthermore, each of the game processing section 14 a and the display section 18 a may not execute a process in a predetermined cycle. Specifically, in the case where a time at which the game processing section 14 a of the first game apparatus 10 a executes the process needs to coincide with a time at which the game processing section 14 b of the second game apparatus 10 b executes the process, and/or in the case where a time at which the display section 18 a of the first game apparatus 10 a executes the process needs to coincide with a time at which the display section 18 b of the second game apparatus 10 b executes the process, it can be achieved by causing each of the game apparatuses 10 a and 10 b to determine, based on its own TSF timer value (or based on its own V counter value adjusted in accordance with the TSF timer value), the time at which each of the game processing section 14 a or 14 b executes the process and/or the time at which each of the display section 18 a or 18 b executes the process.

Still furthermore, the present embodiment illustrates an example where one flame buffer 26 a is provided. However, the present invention is applicable as a game apparatus in which a plurality of flame buffers 26 a are provided and the plurality of flame buffers 26 a are used by switching therebetween so as to be synchronized to the cycle in which the display section 18 a updates the display screen. In this case, the game processing section 14 a switches a flame buffer used by the display section 18 a (a flame buffer which stores the image data to be outputted to the screen of the display section 18 a) from one to another during the V blank period (specifically, when step S48 or the like is executed). In this case, not even during the V blank period, the game processing section 14 a writes the image data into the flame buffer 26 a not currently used by the display section 18 a, thereby making it possible to update the game image.

Although the present embodiment illustrates an example where the V counter 181 a (the V counter 181 b) is adjusted based on the TBTT interrupt signal outputted from the wireless module 12 a (the wireless module 12 b), the present invention is not limited thereto. The V counter 181 a (the V counter 181 b) may be adjusted without using an interrupt signal outputted from the wireless module 12 a (the wireless module 12 b). Hereinafter, an example where the V counter is adjusted by polling without using the interrupt signal will be described as a second embodiment.

Second Embodiment

FIG. 9 is a block diagram illustrating the configuration of the game system according to the second embodiment of the present invention. The configuration shown in FIG. 9 is similar to that shown in FIG. 1 except that the TBTT interrupt signals are not outputted from the processors 123 a and 123 b to the interrupt circuits 16 a and 16 b, respectively, and therefore a detailed description thereof as shown in FIG. 9 will be omitted.

According to the second embodiment, as shown in FIG. 10, the game processing section 14 a obtains the value of the TSF timer 124 a (the TSF timer value) of the wireless module 12 a on a regular basis in a cycle N times as long as 16.7 msec, thereby adjusting the V counter 181 a based on the TSF timer value thus obtained. The same is also true of the game processing section 14 b.

Hereinafter, described will be the flows of the processes executed by the game processing section 14 a, the game processing section 14 b, the wireless module 12 a and the wireless module 12 b when executing the game in accordance with the game program loaded to the storage section 24 a (the storage section 24 b) from the game cartridge 30 a (the game cartridge 30 b).

FIG. 11 is a flowchart illustrating the flow of the process executed by the wireless module 12 a and the wireless module 12 b will be described. Note that the process shown in FIG. 11 is similar to that shown in FIG. 4 except that a process which pertains to transmission of the TBTT interrupt signal (i.e., processes of steps S14, S16, S28 and S30 which are shown in FIG. 4) is deleted, and therefore a detailed description thereof as shown in FIG. 11 will be omitted.

Note that prior to step S10, the first game apparatus 10 a acting as the master previously adjusts the value of the V counter 181 a such that the TSF timer value becomes equal to a natural number multiple of the game processing cycle at the time of the V blank interruption (i.e., at a time when the value of the V counter 181 a becomes “192” in the present embodiment). The same is also true of the second game apparatus 10 b acting as the client.

According to the second embodiment, the flow of the main process executed by the game processing section 14 a and the game processing section 14 b is the same as that in the first embodiment (see FIG. 5). Note that in the first embodiment, the transmission interval of the beacon signal is set N times as long as the game processing cycle. However, in the second embodiment where the TBTT interrupt signal is not used, the transmission interval of the beacon signal may be set freely.

Note that when the interrupt circuit 16 a outputs an interrupt request signal, the game processing section 14 a suspends the aforementioned main process so as to execute an interrupt process (the V blank interrupt process) in response to the interrupt request signal. The same is also true of the game processing section 14 b.

FIG. 12 is a flowchart illustrating a detail of the V blank interrupt process. In step S70, the game processing section 14 a determines whether or not the currently executed V blank interrupt process is a twelfth V blank interrupt process counting from when the value of the V counter 181 a is most recently updated. When it is determined that the currently executed V blank interrupt process is the twelfth V blank interrupt process, the process proceeds to step S72. On the other hand, when it is determined that the currently executed V blank interrupt process is not the twelfth V blank interrupt process, the V blank interrupt process is finished. In step S72, the game processing section 14 a obtains the value of the TSF timer 124 a obtained when the twelfth V blank interrupt process is executed as the TSF timer value. In step S74, the game processing section 14 a calculates a remainder by dividing the TSF timer value (in msec) obtained in step S72 by 16.7 msec which is the game processing cycle. In step S76, the game processing section 14 a updates the value of the V counter 181 a based on the remainder calculated in step S74.

Hereinafter, processes of steps S74 and S76 will be described in detail.

The game processing section 14 a calculates a difference between the remainder calculated in step S74 and a predetermined ideal value (“0” in the present embodiment, for example), thereby increasing or decreasing the value of the V counter 181 a based on the difference such that the remainder calculated in step S74 becomes close to the predetermined ideal value.

For example, the TSF timer value obtained in step S72 is 200.6 msec, a remainder calculated in step S74 is 0.2 msec from an expression 200.6 msec=16.7 msec×12+0.2 msec. In the present embodiment, the V counter 181 a counts from “0” to “262” during 16.7 msec which is the game processing cycle. Therefore, from an expression 263×0.2 msec÷16.7 msec=3.1, 0.2 msec corresponds to approximately three counts of the V counter 181 a (three scanning lines). Thus, in step S76, the game processing section 14 a subtracts “3” from the value of the V counter 181 a.

Alternatively, for example, the TSF timer value obtained in step S72 is 249.8 msec, a remainder calculated in step S72 is 16.0 msec from an expression 249.8 msec=16.7 msec×14+16.0 msec. From an expression 263×16.0 msec÷16.7 msec=252.0, 16.0 msec corresponds to approximately 252 counts of the V counter 181 a (252 scanning lines). This indicates that if the value of the V counter 181 a counts up by “11” (=263−252), a remainder calculated in step S74 of the V blank interrupt process to be subsequently executed will be substantially “0”. Thus, in step S76, the game processing section 14 a adds “11” to the value of the V counter 181 a.

When a value to be added/subtracted to/from the value of the V counter 181 a is greater than a predetermined value (“4”, for example), instead of adding/subtracting the value to/from the value of the V counter 181 a, the value of the V counter 181 a may be added/subtracted in a plurality of stages. On the other hand, when the value to be added/subtracted to/from the value of the V counter 181 a is smaller than a predetermined value (“2”, for example), a change in the value of the V counter 181 a may be omitted.

By executing the aforementioned process, it becomes possible to cause a time at which the V blank period starts to coincide with a time at which the TSF timer 124 a indicates a multiple of 16.7 msec. Therefore, it is assured that the game processing section 14 a executes the game processing in a cycle of 16.7 msec based on the TSF timer 124 a. Similarly, it is also assured that the game processing section 14 b executes the game processing in a cycle of 16.7 msec based on the TSF timer 124 b. The TSF of each of the wireless modules assures that the TSF timer 124 a and the TSF timer 124 b are synchronized to each other. As a result, the game processing cycle of the game processing section 14 a and the game processing cycle of the game processing section 14 b are also synchronized to each other accordingly.

Although the present embodiment illustrates an example where the value of the V counter is adjusted such that the remainder calculated in step S74 shown in FIG. 12 becomes close to “0”, the present invention is not limited thereto. The value of the V counter may be adjusted such that the remainder calculated in step S74 shown in FIG. 12 becomes close to a specified value other than “0”.

Although the present embodiment illustrates an example where the value of the V counter is adjusted based on the TSF counter value obtained when the V blank period starts, the present invention is not limited thereto.

Furthermore, in an example shown in FIG. 10, the game processing section 14 a of the first game apparatus 10 a acting as the master reads the TSF timer value at the same time as the game processing section 14 b of the second game apparatus 10 b acting as the client. However, the game processing section 14 a does not need to read the TSF timer value at the same time as the game processing section 14 b. For example, 16.7 msec after the game processing section 14 a of the first game apparatus 10 a reads the TSF timer 124 a, the game processing section 14 b of the second game apparatus 10 b may read the TSF timer 124 b.

Although the present embodiment illustrates an example where the value of the V counter 181 a (the V counter 181 b) is adjusted every twelve times the V blank interrupt signal is outputted, the present invention is not limited thereto. For example, the value of the V counter 181 a (the V counter 181 b) may be adjusted each time the V blank interrupt signal is outputted.

While the invention has been described in detail, the foregoing description is in all aspects illustrative and not restrictive. It is understood that numerous other modifications and variations can be devised without departing from the scope of the invention. 

1. A game apparatus which realizes a multiplayer gameplay using the game apparatus and at least one other game apparatus capable of performing wireless communication with each other, comprising: a wireless module having a time synchronization function of synchronizing a timer provided inside the wireless module to another timer provided inside another wireless module of the at least one other game apparatus which is set as a communication party for the multiplayer gameplay; a processing section for executing a predetermined process; and an adjustment section for adjusting a time at which the processing section executes the predetermined process based on a value of the timer of the wireless module of the game apparatus.
 2. The game apparatus according to claim 1, wherein the processing section executes a process of generating image data and storing the image data in a display buffer, and the game apparatus further includes an output section for outputting the image data stored in the display buffer to a display section, and the adjustment section adjusts a time at which the output section outputs the image data to the display section based on the value of the timer of the wireless module of the game apparatus.
 3. The game apparatus according to claim 1, wherein the processing section executes a process of generating image data and storing the image data in a display buffer, and the game apparatus further includes an output section for outputting the image data stored in the display buffer, and the adjustment section adjusts a time at which the processing section updates the image data stored in the display buffer based on the value of the timer of the wireless module of the game apparatus.
 4. The game apparatus according to claim 1, wherein the processing section executes a process of generating image data and storing the image data in either of at least two display buffers, and the game apparatus further includes an output section for outputting the image data stored in either of the at least two display buffers to a display section, and the adjustment section adjusts a time at which the at least two display buffers used by the output section are switched between each other based on the value of the timer of the wireless module of the game apparatus.
 5. The game apparatus according to claim 1, wherein the processing section repeatedly executes game processing of one unit, which processing defines a predetermined procedure, and the adjustment section adjusts a time at which the processing section executes the game processing of one unit based on the value of the timer of the wireless module of the game apparatus.
 6. The game apparatus according to claim 1, further comprising an input section operated by a player, wherein the processing section executes the predetermined process based on operation information inputted to the input section, and the adjustment section adjusts a time at which the predetermined process, which is executed by the processing section based on the operation information, is executed based on the value of the timer of the wireless module of the game apparatus.
 7. The game apparatus according to claim 6, wherein the wireless module determines a time at which the operation information is exchanged with the at least one other game apparatus based on the value of the timer.
 8. The game apparatus according to claim 1, further comprising a counter for measuring a processing cycle, wherein the processing section executes the predetermined process in a cyclic manner based on a value of the counter, and the adjustment section adjusts the value of the counter based on the value of the timer of the wireless module of the game apparatus.
 9. The game apparatus according to claim 1, wherein the wireless module includes interrupt signal outputting means of outputting an interrupt signal in a constant cycle based on the value of the timer, and the adjustment section adjusts a time at which the predetermined process is executed based on a time at which the wireless module outputs the interrupt signal.
 10. The game apparatus according to claim 9, further comprising a counter for measuring a processing cycle, wherein the processing section executes the predetermined process in a predetermined cycle based on a value of the counter, the interrupt signal outputting means outputs the interrupt signal in the predetermined cycle based on the value of the timer, and the adjustment section adjusts the value of the counter such that the value of the counter obtained when the wireless module outputs the interrupt signal becomes close to a predetermined fixed value.
 11. The game apparatus according to claim 9, wherein the wireless module transmits a beacon signal to the said another wireless module, and includes beacon interval setting means of setting a cycle of the beacon signal transmitted from the wireless module to a constant cycle, and the interrupt signal outputting means outputs the interrupt signal when a transmission time of the beacon signal arrives.
 12. The game apparatus according to claim 1, wherein the processing section repeatedly executes the predetermined process based on data necessary for game processing, which is received from the said another wireless module in a constant cycle, and includes beacon interval setting means of setting a cycle of a beacon signal transmitted by the wireless module to the constant cycle, and the wireless module transmits the beacon signal in a constant cycle based on the value of the timer, and transmits or receives the data necessary for the game processing to or from the said another wireless module each time the wireless module transmits the beacon signal to the said another wireless module, and the adjustment section adjusts the time at which the processing section executes the predetermined process based on a transmission time of the beacon signal, which is obtained based on the value of the timer of the wireless module of the game apparatus.
 13. The game apparatus according to claim 12, further comprising an input section operated by a player, wherein the processing section repeatedly executes the predetermined process based on operation information inputted to an input section of the game apparatus and the operation information inputted to another input section of the at least one other game apparatus, and the wireless module exchanges the operation information with the at least one other game apparatus each time the wireless module transmits the beacon signal to the said another wireless module.
 14. The game apparatus according to claim 12, wherein the wireless module further includes interrupt signal outputting means of outputting the interrupt signal based on the value of the timer, when the transmission time of the beacon signal arrives, and the adjustment section adjusts a time at which the predetermined process is executed based on a time at which the wireless module outputs an interrupt signal.
 15. The game apparatus according to claim 14, wherein the wireless module transmits or receives the data necessary for the game processing to or from the said another wireless module after transmitting the beacon signal to the said another wireless module, and further includes a sleep function of operating in a sleep mode until the transmission time of the beacon signal subsequently arrives after transmitting or receiving the data necessary for the game processing to or from the said another wireless module.
 16. The game apparatus according to claim 1, wherein the processing section reads the value of the timer of the wireless module in a constant cycle, and adjusts the time at which the processing section executes the predetermined process based on the read value.
 17. The game apparatus according to claim 16, wherein the processing section repeatedly executes game processing of one unit, which processing defines a predetermined procedure, and reads the value of the timer of the wireless module in a cycle N times (N is a natural number) as long as the game processing of one unit.
 18. The game apparatus according to claim 1, wherein the wireless module synchronizes the timer provided inside the wireless module to the said another timer provided inside the said another wireless module of the at least one other game apparatus based on an IEEE802.11 standard.
 19. A game apparatus which realizes a multiplayer gameplay using the game apparatus and at least one other game apparatus capable of performing wireless communication with each other, comprising: a wireless module having a time synchronization function of synchronizing a timer provided inside the wireless module to another timer provided inside another wireless module of the at least one other game apparatus which is set as a communication party for the multiplayer gameplay; a processing section for executing a predetermined process; and a determination section for determining a time at which the processing section executes the predetermined process based on a value of the timer of the wireless module of the game apparatus.
 20. A game apparatus which realizes a multiplayer gameplay using the game apparatus and at least one other game apparatus capable of performing wireless communication with each other, comprising: a connector connectable to a wireless module having a time synchronization function of synchronizing a timer provided inside the wireless module to another timer provided inside another wireless module of the at least one other game apparatus which is set as a communication party for the multiplayer gameplay; a processing section for executing a predetermined process; an adjustment section for adjusting a time at which the processing section executes the predetermined process based on the value of the timer of the wireless module connected to the connector.
 21. A wireless module which realizes a multiplayer gameplay using a game apparatus and at least one other game apparatus, comprising: time synchronization means of synchronizing a timer provided inside the wireless module to another timer provided inside another wireless module; and interrupt signal outputting means of outputting an interrupt signal in a constant cycle based on a value of the timer.
 22. A game system which realizes a multiplayer gameplay using a plurality of game apparatuses including at least a first game apparatus and a second game apparatus, all of which are capable of performing wireless communication with each other, the first game apparatus including: a first wireless module having a time synchronization function of synchronizing a timer provided inside the first wireless module to another timer provided inside a second wireless module of the second game apparatus; a first processing section for executing a predetermined process; and a first adjustment section for adjusting a time at which the first processing section executes the predetermined process based on a value of the timer of the first wireless module, and the second game apparatus including: the second wireless module having the time synchronization function of synchronizing the said another timer provided inside the second wireless module to the timer provided inside the first wireless module of the first game apparatus; a second processing section for executing a predetermined process; and a second adjustment section for adjusting a time at which the second processing section executes the predetermined process based on a value of the said another timer of the second wireless module. 